package com.telit.common.pojo;

import lombok.*;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;


/**
 * @Auther amy
 * @Describe 推送的实体对象
 */
@Data
// 重写hashcode和equals方法
@EqualsAndHashCode(callSuper = false)
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class AliPushMessagePojo {

    /** 推送目标: DEVICE:按设备推送 ALIAS : 按别名推送 ACCOUNT:按帐号推送  TAG:按标签推送; ALL: 广播推送 **/
    @NotBlank(message = "推送目标不能为空")
    private String target;

    /** 推送的消息类型 MESSAGE NOTICE **/
    @NotBlank(message = "推送的消息类型不能为空")
    private String pushType;

    /** 设备类型 ANDROID iOS ALL **/
    @NotBlank(message = "设备类型不能为空")
    private String deviceType;

    /** 消息的title **/
    @NotBlank(message = "消息的title不能为空")
    private String title;

    /** 推送的目标账号 **/
    private List<String> accountList;

    @NotNull(message = "消息的主体不能为空")
    private AliPushContentPojo pushContentPojo;
}
